Pirouette: higher-order typed functional choreographies
نویسندگان
چکیده
We present Pirouette, a language for typed higher-order functional choreographic programming. Pirouette offers programmers the ability to write centralized program and compile it via endpoint projection into programs each node in distributed system. Moreover, is defined generically over (local) of messages, lifts guarantees about message type system its own. Message soundness also deadlock freedom. All our results are verified Coq.
منابع مشابه
Functional programming with dependently-typed higher-order data
This paper explores a new point in the design space of functional programming: functional programming with dependently typed higher-order data structures described in the logical framework LF. This allows us to program with proofs. The contributions of this paper are twofold: First, we present a syntax-directed bidirectional type system that distinguishes between dependently typed data and comp...
متن کاملTyped Higher-Order Narrowing without Higher-Order Strategies
We describe a new approach to higher-order narrowing computations in a class of systems suitable for functional logic programming. Our approach is based on a translation of these systems into ordinary (£rst-order) rewrite systems and the subsequent application of conventional narrowing strategies. Our translation is an adaptation to narrowing of Warren’s translation, but unlike similar previous...
متن کاملProgramming in higher-order typed lambda-calculi
Typed A-calculi have been objects of theoretical study for many years. Recently, it has been shown that all the inductively defined types (including numbers, booleans, lists, and trees, as well as more complex structures like typed terms and proofs) can be represented in higher-order A-calculi with no built-in types or type constructors. This raises the possibility of designing practical progra...
متن کاملTyped operational semantics for higher-order subtyping
Bounded operator abstraction is a language construct relevant to object oriented programming languages and to ML2000, the successor to Standard ML. In this paper, we introduce Fω ≤, a variant of Fω <: with this feature and with Cardelli and Wegner’s kernel Fun rule for quantifiers. We define a typed operational semantics with subtyping and prove that it is equivalent with Fω ≤, using a Kripke m...
متن کاملInitial Semantics for higher-order typed syntax
We present an initial semantics result for typed higher-order syntax based on monads and modules over monads. The notion of module generalizes the substitution structure of monads. For a simply typed binding signature S we define a representation of S to be a monad equipped with a morphism of modules for each of its arities. The monad of abstract syntax of S then is the initial object in the ca...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2022
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3498684